Widgets are mini-applications adapted to allow a user to monitor or interact with certain information provided by a server computer system. Widgets may be described as interactive virtual tools that provide single-purpose services by pulling data from a backend system and presenting this data on the user's display device. Examples of widgets include computer programs such as alarm clocks, local weather information monitors, stock monitors, etc. For example, in a sales company, the Operations Department senior management and analysts may be responsible for carefully tracking the revenue, inventory and open order status in real time. The monitoring is particularly important during the last week of each month. A revenue tracking widget may be utilized in this situation to provide a user with on demand access to up-to-date relevant information, which may reduce or even eliminate the tasks of manually retrieving information numerous times throughout the day and manually extracting one or two key data points in each report.
A widget may be run on an application platform referred to as a widget engine. A widget engine may use, e.g., a JavaScript® runtime environment combined with an Extensible Markup Language (XML) interpreter and may require that a widget is developed according to the requirement of the specific widget engine. Examples of widget engines are Yahoo! ®Widgets and Vista™ Sidebar. Yahoo! ®Widgets is capable of running widgets using a JavaScript® runtime environment and an XML interpreter.